%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Objekte}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \subsection{Datenstrukturen}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \begin{frame}
% DATENSTRUKTUREN
%   $arrayref = [ "a", "b", "c" ];
%   $hashref = { "a" => 123, "b" => 1234, "c" => 12345 };
% \end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \subsection{Pairs}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \begin{frame}
%   $pair = 'key' => 'value';
%   $pair = :key('value');
%   @pairs = %hash;
% \end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Code-Objekte}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
	\frametitle{Code-Blöcke}
	\input{code/class/code1.pl.tex}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
	\frametitle{Packen}
	\input{code/class/code2.pl.tex}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
	\frametitle{Currying}
	\input{code/class/code3.pl.tex}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
	\frametitle{NEXT/LAST Blöcke}
	\input{code/class/code4.pl.tex}
\end{frame}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
	\frametitle{Coroutines}
	\input{code/class/coro1.pl.tex}
\end{frame}


% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \subsection{Filehandle-Objekte}
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \begin{frame}
% 	\frametitle{Filehandle-Objekte}
% 
% 	Ein filehandle ist ein ganz normales Objekt.
% 
% 	\input{code/class/.pl.tex}
% \end{frame}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Klassen}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
	\frametitle{Klassen in Perl 6}
	\input{code/class/class1.pl.tex}
\end{frame}
\begin{frame}
	\frametitle{Methoden mit einem Parameter}
	\input{code/class/class2.pl.tex}
\end{frame}
\begin{frame}
	\frametitle{Methoden mit mehreren Parametern}
	\input{code/class/class3.pl.tex}
\end{frame}
\begin{frame}
	\frametitle{Polymorphismus}
	\input{code/class/class4.pl.tex}
\end{frame}
\begin{frame}
	\frametitle{Membervariablen}
	\input{code/class/class5.pl.tex}
\end{frame}
\begin{frame}
	\frametitle{Membervariablen}
	\input{code/class/class6.pl.tex}
\end{frame}

% delegation, multi-method dispatch
